$(function () {
    // 和后端交互 

    // 切换注册方式
    $('.mobileBtn').click(function () {
        $('form').show()
        $(this).parents('form').hide()
    })
})



$(function(){
    // 更新验证码
    //浏览器会根据url缓存，后端服务器文件没有被修改的情况下，第一次状态码200，第二次304
    //因此让url具备唯一性，避免bug
    $('p.captcha img').click(function(){
        $(this).attr('src',`http://kg.zhaodashen.cn/mt/web/captcha.jsp?t=`+(new Date().getTime()))
    })

    //普通注册
    $('#regBtn').click(function(evt){
        let e=evt || window.event;
        e.preventDefault();
        let uname=$('.account').val();
        let pwd=$('.pwd').val();
        let pwd2=$('.pwd2').val();
        let captcha=$('.captcha input').val();
        if(pwd!=pwd2){
           
            cocoMessage.error('输入密码不一致');
            return
        }
        $.post('/api/user/registry.jsp',
                {uname,pwd,captcha},
                res=>{
                    if(res.meta.state==201){
                        
                        cocoMessage.success('注册成功，请登录...');
                        setTimeout(() => {
                            location.href='./login.html'
                        }, 2000);
                    }
                    else{
                       
                        cocoMessage.error(res.meta.msg);
                    }
                },
                'json'
        )
    })
  
})



//行为验证码
$.ajax({
    url: "https://www.geetest.com/demo/gt/register-slide?t=" + (new Date()).getTime(), // 加随机数防止缓存
    type: "get",
    dataType: "json",
    success: function (data) {

        $('#text').hide();
        $('#wait').show();
        // 调用 initGeetest 进行初始化
        // 参数1：配置参数
        // 参数2：回调，回调的第一个参数验证码对象，之后可以使用它调用相应的接口
        initGeetest({
            // 以下 4 个配置参数为必须，不能缺少
            gt: data.gt,
            challenge: data.challenge,
            offline: !data.success, // 表示用户后台检测极验服务器是否宕机
            new_captcha: data.new_captcha, // 用于宕机时表示是新验证码的宕机

            product: "popup", // 产品形式，包括：float，popup
            width: "280px",
            https: true

            // 更多配置参数说明请参见：http://docs.geetest.com/install/client/web-front/
        },function (captchaObj) {
                captchaObj.appendTo('#captcha');
                captchaObj.onReady(function () {
                    $("#wait").hide();
                })
                // $('#btn').click(function () {})
                    //发送短信倒计时
                    let sendSmsTime=5;
                    let t=null;
                    $('#sendSmsBtn').click(function(){
                        let mobile=$('.mobile').val();
                        if(!/^1\d{10}$/.test(mobile)){
                            
                            cocoMessage.error('请输入正确的手机号');
                            captchaObj.reset(); // 调用该接口进行重置
                            return
                        }

                        let result=captchaObj.getValidate();
                        if(!result){
                            
                            cocoMessage.error('请先完成行为验证码验证');
                            return
                        }

                        if(t)return
                        $(this).text(`${sendSmsTime}秒后重新发送`);
                        t=setInterval(() => {
                            sendSmsTime--;
                            if(sendSmsTime<=0){
                                clearInterval(t);
                                sendSmsTime=5;
                                $(this).text(`获取手机动态码`);
                                t=null;
                                return
                            }
                            $(this).text(`${sendSmsTime}秒后重新发送`);
                        }, 1000);
                        //后端交互，请求接口，发送手机验证码
                        $.post('/api/sms/send.jsp',{mobile},(res)=>{
                            if(res.meta.state!=201){
                                
                                cocoMessage.error(res.meta.msg);
                            }
                        },'json')
                    });

                    //手机短信注册
                    $('#regMobileBtn').click(function(evt){
                        let e=evt || window.event;
                        e.preventDefault();
                        let mobile=$('.mobile').val();
                        let code=$('.code').val();
                        if(!mobile || !code){
                            
                            cocoMessage.error('请输入正确内容');
                            captchaObj.reset(); // 调用该接口进行重置
                            return
                        }
                        $.post('/api/sms/registry.jsp',{mobile,code},res=>{
                            if(res.meta.state===201){
                                
                                cocoMessage.success(res.meta.msg);
                                setTimeout(()=>{
                                    location.href='./login.html'
                                },2000)
                            }else{
                                
                                cocoMessage.error(res.meta.msg);
                                captchaObj.reset(); // 调用该接口进行重置
                                return
                            }
                        },'json')
                    })
                    
                // 更多接口说明请参见：http://docs.geetest.com/install/client/web-front/
                window.gt = captchaObj;
            });
    }
});




